﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BusinessLayer.Interfaces;
using DataLayer.EF;
using BusinessLayer.Clases_BO;
using EntityLayer;

namespace BusinessLayer.Implementacion
{
    public class FacadeOrdenCompra : IFacadeOrdenCompra
    {
       
        public List<T_Orden_Compra> listarOrdenCompraxID(string id)
        {
            clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
            return negOrdenCompra.listarOrdenCompraxID(id);
        }
        public List<T_Orden_Compra> listarOrdenCompra()
        {
            clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
            return negOrdenCompra.listarOrdenCompra();
        }

        public string ObtenerNroOrdenCompraMax()
        {
            clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
            return negOrdenCompra.ObtenerNroOrdenCompraMax();
        }
        public bool InsertarOrdenCompra(T_Orden_Compra obj)
        {
            clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
            return negOrdenCompra.Insertar(obj);
        }
        public List<T_Orden_Compra> ListarOrdenComprasXFechas(DateTime fechaini, DateTime fechafin)
        { clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
        return negOrdenCompra.ListarOrdenComprasXFechas(fechaini,fechafin);
        }

        public IEnumerable<Object> ListarOrdenComprasXRangoFechas(DateTime fechaini, DateTime fechafin, bool estado)
        {clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
        return negOrdenCompra.ListarOrdenComprasXRangoFechas(fechaini, fechafin, estado);
        }

        public List<T_Grupo> getGrupo(string idUsuario)
        {
            clsT_UsuarioBO negUsuarioSistema = new clsT_UsuarioBO();
            return negUsuarioSistema.getGrupo(idUsuario);
        }

        public List<ListadoOrdenCompra> ListarOrdenComprasCompleto(string idOrdenCompra)
        {
clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
return negOrdenCompra.ListarOrdenComprasCompleto(idOrdenCompra);
        }

        public bool actualizarOrdenCompra(string idRequerimientoFunc, string idBaseTecnica, string NumeroOrdenCompra)
        {
clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
return negOrdenCompra.actualizarOrdenCompra(idRequerimientoFunc,idBaseTecnica,NumeroOrdenCompra);
        }

        public bool Modificar(T_Orden_Compra obj)
        {
            clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
            return negOrdenCompra.Modificar(obj);
        }

        public bool actualizarOrdenCompraCompleto(int numeroLicencias, string sustento, string numeroCuenta, string fecharequerida, string numeroOrdenCompra)
        {
            clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
            return negOrdenCompra.actualizarOrdenCompraCompleto(numeroLicencias, sustento, numeroCuenta, fecharequerida, numeroOrdenCompra);
        }
        public List<T_Proveedor> listaProveedorEstado()
        {
            clsT_ProveedorBO negProveedor = new clsT_ProveedorBO();
            return negProveedor.listarProveedorEstado();
        }

        public bool insertarPropuesta(T_Propuesta obj)
        {
            clsT_PropuestaBO negProveedor = new clsT_PropuestaBO();
            return negProveedor.Insertar(obj);
        }

        public string ObtenerPropuestaMax()
        {   clsT_PropuestaBO negProveedor = new clsT_PropuestaBO();
        return negProveedor.ObtenerPropuestaMax();
        }
        public IEnumerable<Object> listaPropuestaXOrdencompra(string ordencompra)
        {
            clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
            return negOrdenCompra.listaPropuestaXOrdencompra(ordencompra);
        }

        public bool actualizarOrdenCompraPropuesta(string idPropuesta, string NumeroOrdenCompra)
        {
clsT_OrdenCompraBO negOrdenCompra = new clsT_OrdenCompraBO();
return negOrdenCompra.actualizarOrdenCompraPropuesta(idPropuesta,NumeroOrdenCompra);
        }
    }
}
